package com.simple.structure.proxy;

import com.simple.LogUtil;

/**
 * 代理模式
 * 使用场景:
 * 对原有的方法在使用时需要进行改进
 * 原因:
 * 修改原有的方法, 这样违反了开闭原则(对扩展开放,对修改关闭)
 *
 * @author simple
 * @version 1.0
 * @date 2018-12-17 09:12
 * @since 1.0
 */
public class Proxy implements Sourceable {
    private Source source;

    public Proxy() {
        this.source = new Source();
    }

    @Override
    public void method() {
        LogUtil.info("开启事务 Start Transaction");
        source.method();
        LogUtil.info("提交事务 Commit");
    }
}
